#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <mutex>
#include <thread>
#include <Windows.h>

using namespace std;

static mutex mtx;

//void Printf()
//{
//	while (1)
//	{
//		mtx.lock();
//		cout << "i am a " << endl;
//		mtx.unlock();
//		Sleep(1000);
//	}
//}
//
//int main()
//{
//	thread t1(Printf);
//	thread t2(Printf);
//
//	t1.join();
//	t2.join();
//
//	return 0;
//}

void Printf(string str)
{
	while (1)
	{
		mtx.lock();
		cout << "i am a " << str << endl;
		mtx.unlock();
		Sleep(1000);
	}
}

int main()
{
	thread t1(Printf, "A");
	thread t2(Printf, "B");

	t1.join();
	t2.join();

	return 0;
}